package com.sq.ai.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.sq.ai.base.BaseEntry;
import com.sq.common.ana.Param;
import com.sq.common.enums.ReqTypeEnum;
import lombok.Data;

/**
 * 
 * @TableName sys_con_job
 */
@Data
@TableName(value ="sys_con_job")
public class SysConJob extends BaseEntry implements Serializable {
    /**
     * 布控id
     */
    @TableId
    @Param(tip = "布控id未传输",condition = {ReqTypeEnum.update})
    private String jobId;

    /**
     * 布控名称
     */
    @Param(tip = "布控名称未填写",condition = {ReqTypeEnum.insert,ReqTypeEnum.update})
    private String jobName;

    /**
     * 布控状态 
     */
//    @Param(tip = "布控状态未选择",condition = {ReqTypeEnum.insert,ReqTypeEnum.update})
    private String jobStatus;


    /**
     * 布控时间
     */
    @TableField("start_time")
    private Date startTime;

    @TableField("end_time")
    private Date endTime;

    @TableField(exist = true)
    private String deviceName;

    @TableField(exist = false)
    private String algorName;


    @Param(tip = "布控时间未选择",condition = {ReqTypeEnum.insert,ReqTypeEnum.update})
    @TableField(exist = false)
    private List<Date> jobTime;


    /**
     * 相机id
     */
    @Param(tip = "布控设备未选择",condition = {ReqTypeEnum.insert,ReqTypeEnum.update})
    private String deviceId;

    /**
     * 跳帧间隔
     */
    private Integer skip;


    /**
     * 比对阈值
     */
    private Double threshold;

    /**
     * 报警间隔
     */
    private Integer warmInt;

    /**
     * 报警级别
     */
    @TableField(value = "warm_level")
    @Param(tip = "告警级别未选择",condition = {ReqTypeEnum.insert,ReqTypeEnum.update})
    private String warnlevel;

    /**
     * 算法类型
     */
    private String algorType;

    @TableField(exist = false)
    @Param(tip = "算法类型未选择",condition = {ReqTypeEnum.insert,ReqTypeEnum.update})
    private List<String> algorTypes;

    /**
     * 算法识别roi
     */
    private String algorRoi;

    /**
     * 算法备注
     */
    private String remark;

    /**
     * 
     */
    private String createBy;

    /**
     * 
     */
    private Date createTime;

    /**
     * 
     */
    private String updateBy;

    /**
     * 
     */
    private Date updateTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;


    private String ztChannel;
}